package com.zw.mes.module.system.mapper;


import com.zw.mes.entity.sys.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description:
 *
 * @Author: China.sgl
 * @Date: 2019/9/16 09:11
 */
public interface UserMapper {

    /**
     * 根据条件查询用户
     *
     * @param user 条件
     * @return list
     */
    List<User> findByCondition(User user);

    /**
     * 根据帐号查询用户
     *
     * @param account 帐号
     * @return 用户信息
     */
    User findByAccount(String account);

    /**
     * 保存用户，角色关联关系
     *
     * @param uId     用户ID
     * @param roleIds 角色ID数组
     */
    void batchInsertUserRole(@Param("uId") Integer uId, @Param("roleIds") Integer[] roleIds);

    /**
     * 根据 用户ID 删除用户角色关联关系
     *
     * @param uId 用户ID
     */
    void deleteUserRoleByUserId(Integer uId);

    /**
     * 查询接收消息用户
     *
     * @return list
     */
    List<User> findByRecMsg();

    /**
     * 按用名户查询
     *
     * @param name name
     * @return User
     */
    User getByName(String name);

    /**
     * 按ID查询
     * @param id ID
     * @return User
     */
    User findById(Integer id);

    /**
     * 按条件查询用户及部门
     *
     * @param user 条件
     * @return list
     */
    List<User> findByConditionJoin(User user);

}
